<?php

/*



author : zulad

date : 17/05/2012



*/

$first = true;
$_page=$pager=null;

// enregistrement membre_derniere_visite

if(isset($_SESSION['id']))
{

	$req = $pdo->prepare("UPDATE forum_membres SET membre_derniere_visite = ".time()." WHERE membre_id=:mid");
	$req->bindParam(":mid", $_SESSION["id"], PDO::PARAM_INT);
	$req->execute();

}

if(!isset($_GET['num']))
	$_GET['num'] = 1;

// verification de post

if(isset($_REQUEST['bbcode_courant']))
{

//var_dump($_REQUEST);

	// enregistrement db

	if(!empty($_REQUEST['bbcode_courant']))
	{
		// enregistrement dans forum_post
		$sql = 'INSERT INTO forum_post 
				(post_texte, post_time, topic_id,post_forum_id,
					forum_membre_id)
				VALUES (:post_texte, 
					:topic_time, 
					:topic_id,
					:post_forum_id,
					:forum_membre_id)';

		$record = $pdo->prepare($sql);

		$record->bindValue(":post_texte",$_REQUEST['bbcode_courant']);
		$record->bindValue(":topic_id",$_REQUEST['tid']);
		$record->bindValue(":topic_time",time());
		$record->bindValue(":post_forum_id",$_GET['fid']);
		$record->bindValue(":forum_membre_id",$_SESSION['id']);

		$record->execute();

		// envoit d'email si suivi
		$users = GetValueFromQuery('SELECT topic_suivi FROM forum_topic WHERE topic_id='.$_GET['tid'].' AND forum_id='.$_GET['fid']);
		$users = explode(';',$users);
		
		$content = 'Il y a un nouveau post dans la discussion que vous suivez : 
						http://'.SITE_URL.'/'.getLienModule($_GET["m"],"voirmessage")."?fid=".$_REQUEST['fid']."&tid=".$_REQUEST['tid'];
		foreach($users as $user)
		{
			// envoit
			if($user != $_SESSION['id'])
				mail(id2mail($user),'Nouveau message',$content,HeaderMail::MailHTML("leprojet@legtux.org"));
		}
		
		if(isset($_SESSION['id'])){

				$ex = $pdo->prepare('SELECT * FROM forum_forum_view WHERE fv_membre_id=? AND fv_topic_id=?');
				$ex->execute(array($_SESSION['id'],$_REQUEST['tid']));

				if($ex->rowCount()>0){
					$req = $pdo->prepare('UPDATE forum_forum_view SET fv_topic_id=? , fv_post_id=? WHERE fv_membre_id=?');
					$req->execute(array($_GET['tid'],$pdo->lastInsertId(),$_SESSION['id']));
				}else{
					$req = $pdo->prepare('INSERT INTO forum_forum_view SET fv_topic_id=? , fv_post_id=? , fv_membre_id=?');
					$req->execute(array($_GET['tid'],$pdo->lastInsertId(),$_SESSION['id']));
				}
			}
			redirect("Votre réponse à été ajoutée",getLienModule("forum","voirmessage")."?fid=".$_GET['fid']."&tid=".$_REQUEST['tid']."&num=".$_GET['num']);
	}else{
		redirect("Veuillez renseignez un méssage avant d'envoyer le formulaire !",getLienModule("forum","repondre")."?type=message&fid=".$_GET['fid']."&tid=".$_REQUEST['tid']."&num=".$_GET['num']);	
	}
}

//On actualise la liste des personnes sur la page

		updatePeopleLocated($_SERVER['REQUEST_URI']);

		if(isset($_GET['action'])){
			switch($_GET['action']){
					case 'resolve_topic' :

						if(isset($_GET['tid'])){

							$query = $pdo->prepare("SELECT topic_locked,topic_forum_membre_id,topic_resolu FROM forum_topic WHERE topic_id=?");

							$query->execute(array($_GET['tid']));

								if($query->rowCount() > 0){

									$data = $query->fetch();

										if($data['topic_locked']<1){

											if($data['topic_forum_membre_id'] == $_SESSION['id']){

												if($data['topic_resolu']<1){

													$query = $pdo->prepare("UPDATE forum_topic SET topic_resolu=? WHERE topic_id=?");

													$query->execute(array(1,$_GET['tid']));

													redirect("Votre topic à été marqué comme résolu !",getLienModule("forum","voirmessage").'?tid=' . intval($_GET['tid']).'&num='.intval($_GET['num']));

												}else{

													redirect("Votre topic à déja été marqué comme résolu !Opération annulée",getLienModule("forum","voirmessage").'?tid=' . intval($_GET['tid']).'&num='.intval($_GET['num']));

												}//topic déja resolu

											}else{

												redirect("Impossible de marqué comme résolu un topic dont vous n'êtes pas l'auteur !Opération annulée",getLienModule("forum","voirmessage").'?tid=' . intval($_GET['tid']).'&num='.intval($_GET['num']));

											}

					
										}else{

											redirect("Impossible de marqué comme résolu un topic vérouillé !Opération annulée",getLienModule("forum","voirmessage").'?tid=' . intval($_GET['tid']).'&num='.intval($_GET['num']));

										}

								}else{

									redirect("Erreur : topic innexistant !",getLienModule("forum"));	

								}

						}else{

							redirect('Problème technique !');

						}

		  break;

		  case 'unresolved_topic' :

						if(isset($_GET['tid'])){

							$query = $pdo->prepare("SELECT topic_locked,topic_forum_membre_id,topic_resolu FROM forum_topic WHERE topic_id=?");

							$query->execute(array($_GET['tid']));

								if($query->rowCount() > 0){

									$data = $query->fetch();

										if($data['topic_locked']<1){

											if($data['topic_forum_membre_id'] == $_SESSION['id']){

												if($data['topic_resolu']>0){

													$query = $pdo->prepare("UPDATE forum_topic SET topic_resolu=? WHERE topic_id=?");

													$query->execute(array(0,$_GET['tid']));

													redirect("Votre topic à été marqué comme non résolu !",getLienModule("forum","voirmessage").'?tid=' . intval($_GET['tid']).'&num='.intval($_GET['num']));

                                                                                                 }else{

													redirect("Votre topic est déja non résolu !Opération annulée",getLienModule("forum","voirmessage").'?tid=' . intval($_GET['tid']).'&num='.intval($_GET['num']));

												}//topic déja resolu

											}else{

												redirect("Impossible de marqué comme non résolu un topic dont vous n'êtes pas l'auteur !Opération annulée",getLienModule("forum","voirmessage").'?tid=' . intval($_GET['tid']).'&num='.intval($_GET['num']));

											}

										}else{

											redirect("Impossible de marqué comme non résolu un topic vérouillé !Opération annulée",getLienModule("forum","voirmessage").'?tid=' . intval($_GET['tid']).'&num='.intval($_GET['num']));

										}

								}else{

									redirect("Erreur : topic innexistant !",getLienModule("forum"));	

								}

						}else{

							redirect('Problème technique !');

						}

		  break;

			}

		}

if(isset($_GET["tid"]))
{

	// ajouter 1 au compteur vu

	$query = 'UPDATE forum_topic SET topic_vu=topic_vu + 1 WHERE topic_id = '.$_GET['tid'];
	SetValueFromQuery($query);

	$query = $pdo->prepare("SELECT topic_resolu,topic_locked,topic_forum_membre_id FROM forum_topic WHERE topic_id=?");
	$query->execute(array($_GET['tid']));
	$infoTopic = $query->fetch();

	//$pager = GetPager(25,$itemCount,$_GET['num'], 'voirtopic', $_GET['fid']);
	$sql='SELECT * FROM forum_post as fp JOIN forum_membres as fm ON fm.membre_id=fp.forum_membre_id WHERE topic_id=? ORDER BY post_time ASC LIMIT '. ($_GET['num']-1) . ',' . ($_GET['num']*25);
		$r=$pdo->prepare($sql);
	$r->execute(array($_REQUEST["tid"]));
	$first = false;
	$firstId = 0;


     			// ici on affiche un texte en hut de la page pour le changer c'esty dans modules/message_haut.php
echo '' . Forum_voirmessage . '<br />';


	include "./modules/forum/message/bouton_haut.php";
	include "./modules/forum/message/message.php";

        /*Nombre de visiteur */

		//On charge les infos des membres sur cette page

		$info = getPeopleLocated($_SERVER['REQUEST_URI']);

echo $_page . "\n".'<div class="cadre_visible contenu"><div class="titre">Informations de la discussion.</div>
                    <br />
					Il y a ('.$info['countPeople'].' personne(s) sur cette discution dont '.$info['countPeopleMember'].' membre(s) et '.$info['countPeopleVisitor'].' visiteur(s))
					'.$info['memberList'].'
					' . $pager . '';
					echo '</div>';
		
	include "./modules/forum/message/bouton_bas.php";
	include "./modules/forum/legende/voirmessage.php";
			
			echo '<script>
			
				(function(){
					
					checkSuivi('.$_GET['tid'].',"'.trim($_SESSION['id']).'");
					
				})();
			
			</script>

		';
		
}else{

	setPageTitle("VoirTopic - Erreur");
	display_info("Une erreur interne est survenue",ERROR);

}



?>